home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 34.zip / BS1 part 34 / FredFish PD 314.adf / Zc / zcsrc.lzh / IOLib / stdio / perror.c < prev    next >
C/C++ Source or Header  |  1989-05-29  |  1KB  |  71 lines

  1. /*
  2.  * standard "print error message" function
  3.  */
  4.  
  5. #include <stdio.h>
  6. #include <errno.h>
  7.  
  8. #define    SYS_NERR    (34)
  9.  
  10. int    sys_nerr = SYS_NERR;
  11.  
  12. char *sys_errlist[SYS_NERR+1] =
  13.     {
  14.         "Ok",
  15.         "No such file or directory",
  16.         "No such process",
  17.         "Interrrupted system call",
  18.         "I/O error",
  19.         "No such device or address",
  20.         "Arg list is too long",
  21.         "Exec format error",
  22.         "Bad file number",
  23.         "No child process",
  24.         "No more processes allowed",
  25.         "No memory available",
  26.         "Access denied",
  27.         "Badd address",
  28.         "Bulk device required",
  29.         "Resource is busy",
  30.         "File already exists",
  31.         "Cross-device link",
  32.         "No such device",
  33.         "Is not a directory",
  34.         "Is a directory",
  35.         "Invalid argument",
  36.         "No more files (system)",
  37.         "No more files (process)",
  38.         "Not a terminal",
  39.         "Text file is busy",
  40.         "File is too large",
  41.         "No space left",
  42.         "Seek issued to pipe",
  43.         "Read-only file system",
  44.         "Too many links",
  45.         "Broken pipe",
  46.         "Math function argument error",
  47.         "Math function result is out of range" 
  48.  
  49.     };
  50.  
  51. char *strerror(err)
  52.     int err;
  53.     {
  54.     if(is_syserr(err))
  55.         return(sys_errlist[-err]);
  56.     return(NULL);
  57.     }
  58.  
  59. void perror(msg)
  60.     char *msg;
  61.     {
  62.     if(msg && *msg)
  63.         {
  64.         fputs(msg, stderr);
  65.         fputs(": ", stderr);
  66.         }
  67.     if(msg = strerror(errno))
  68.         fputs(msg);
  69.     fputs(".\n", stderr);
  70.     }
  71.